<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="../JS/vue.js"></script>
</head>
<body>
  

    <!-- 监视属性：
        1.当被监视的属性变化时，回调函数自动调用，进行相关操作
        2.监视的属性必须存在才能进行监视
        3.俩种写法：
            new Vue 时传入watch属性，
            通过vm.$watch监视 -->


    <!-- 准备好一个容器 -->
    <div id="root">
        <h2>今天天气很{{info}}</h2>
        <button @click="changeWeahther">切换天气</button>
    </div>
    

    

</body>

<script type="text/javascript">
    Vue.config.productionTip = false  // 阻止启动时产生提示

    //创建Vue实例
    const vm = new Vue({
        el:'#root',// 用于指定当前Vue实例为哪个容
        data:{
            isHot:true
        },
        computed:{
            info(){
                return this.isHot ? '炎热' : '凉爽';
            }
        },
        methods: {
            changeWeahther(){
                this.isHot = !this.isHot
            }
        },

        // 写法一
        // watch:{
        //     isHot:{
        //         immediate:true,  // 初始化时让handler调用一下
        //         handler(newValue,oldValue){
        //             console.log(newValue,oldValue);
        //         }
        //     }
        // }

        
    });


        // 写法二
         vm.$watch('isHot',{
            
                immediate:true,  // 初始化时让handler调用一下
                handler(newValue,oldValue){
                    console.log(newValue,oldValue);
                }
            
         })

    
</script>
</html>